class UserBarsController < ApplicationController
  layout 'default'  

  verify :method => :post, :only => [ :add, :destroy ],
         :redirect_to => { :action => :list }

  def index
    list
    render :action => 'list'
  end

  def add
    if BarGuest.add_guest(params[:id], session[:user_id])
      flash[:success] = "Die Bar wurde als eine deiner Stammbars eingetragen!" 
      BarFeed.add_action(params[:id], session[:user_id], 3)
    else
      flash[:error] = "Diese Bar ist bereits als deine Stammbar eingetragen!"
    end
    
    redirect_to :controller => "bars", :action => "show", :id => params[:id]
  end

  def list
    params[:id] = params[:id] || session[:user_id]
    @bars = BarGuest.find(:all, :conditions => ["user_id = ?", params[:id]])
  end
  
  def destroy
    user_bar = BarGuest.find(:first, 
                             :conditions => ["user_id = ? and bar_id = ?",
                                             session[:user_id],
                                             params[:id]])
    if BarGuest.delete(user_bar.id)
      flash[:success] = "Die Bar wurde aus deinen Stammbars entfernt!" 
      BarFeed.add_action(params[:id], session[:user_id], 10)
      
      # Update user's bars count
      user = User.find(session[:user_id])
      user.user_bars_count = user.user_bars_count.to_i - 1
      user.save!
    else
      flash[:error] = "Es ist ein Fehler aufgetreten!"
    end
    
    redirect_to :action => "list"
  end
end
